rev12(0, nil) -> 0
rev12(s1(X), nil) -> s1(X)
rev12(X, cons2(Y, L)) -> rev12(Y, L)
rev1(nil) -> nil
rev1(cons2(X, L)) -> cons2(rev12(X, L), rev22(X, L))
rev22(X, nil) -> nil
rev22(X, cons2(Y, L)) -> rev1(cons2(X, rev1(rev22(Y, L))))
↳ QTRS
↳ Non-Overlap Check
rev12(0, nil) -> 0
rev12(s1(X), nil) -> s1(X)
rev12(X, cons2(Y, L)) -> rev12(Y, L)
rev1(nil) -> nil
rev1(cons2(X, L)) -> cons2(rev12(X, L), rev22(X, L))
rev22(X, nil) -> nil
rev22(X, cons2(Y, L)) -> rev1(cons2(X, rev1(rev22(Y, L))))
↳ QTRS
↳ Non-Overlap Check
↳ QTRS
↳ DependencyPairsProof
rev12(0, nil) -> 0
rev12(s1(X), nil) -> s1(X)
rev12(X, cons2(Y, L)) -> rev12(Y, L)
rev1(nil) -> nil
rev1(cons2(X, L)) -> cons2(rev12(X, L), rev22(X, L))
rev22(X, nil) -> nil
rev22(X, cons2(Y, L)) -> rev1(cons2(X, rev1(rev22(Y, L))))
rev12(0, nil)
rev12(s1(x0), nil)
rev12(x0, cons2(x1, x2))
rev1(nil)
rev1(cons2(x0, x1))
rev22(x0, nil)
rev22(x0, cons2(x1, x2))
REV22(X, cons2(Y, L)) -> REV1(cons2(X, rev1(rev22(Y, L))))
REV22(X, cons2(Y, L)) -> REV22(Y, L)
REV1(cons2(X, L)) -> REV22(X, L)
REV1(cons2(X, L)) -> REV12(X, L)
REV22(X, cons2(Y, L)) -> REV1(rev22(Y, L))
REV12(X, cons2(Y, L)) -> REV12(Y, L)
rev12(0, nil) -> 0
rev12(s1(X), nil) -> s1(X)
rev12(X, cons2(Y, L)) -> rev12(Y, L)
rev1(nil) -> nil
rev1(cons2(X, L)) -> cons2(rev12(X, L), rev22(X, L))
rev22(X, nil) -> nil
rev22(X, cons2(Y, L)) -> rev1(cons2(X, rev1(rev22(Y, L))))
rev12(0, nil)
rev12(s1(x0), nil)
rev12(x0, cons2(x1, x2))
rev1(nil)
rev1(cons2(x0, x1))
rev22(x0, nil)
rev22(x0, cons2(x1, x2))
↳ QTRS
↳ Non-Overlap Check
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
REV22(X, cons2(Y, L)) -> REV1(cons2(X, rev1(rev22(Y, L))))
REV22(X, cons2(Y, L)) -> REV22(Y, L)
REV1(cons2(X, L)) -> REV22(X, L)
REV1(cons2(X, L)) -> REV12(X, L)
REV22(X, cons2(Y, L)) -> REV1(rev22(Y, L))
REV12(X, cons2(Y, L)) -> REV12(Y, L)
rev12(0, nil) -> 0
rev12(s1(X), nil) -> s1(X)
rev12(X, cons2(Y, L)) -> rev12(Y, L)
rev1(nil) -> nil
rev1(cons2(X, L)) -> cons2(rev12(X, L), rev22(X, L))
rev22(X, nil) -> nil
rev22(X, cons2(Y, L)) -> rev1(cons2(X, rev1(rev22(Y, L))))
rev12(0, nil)
rev12(s1(x0), nil)
rev12(x0, cons2(x1, x2))
rev1(nil)
rev1(cons2(x0, x1))
rev22(x0, nil)
rev22(x0, cons2(x1, x2))
↳ QTRS
↳ Non-Overlap Check
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
REV12(X, cons2(Y, L)) -> REV12(Y, L)
rev12(0, nil) -> 0
rev12(s1(X), nil) -> s1(X)
rev12(X, cons2(Y, L)) -> rev12(Y, L)
rev1(nil) -> nil
rev1(cons2(X, L)) -> cons2(rev12(X, L), rev22(X, L))
rev22(X, nil) -> nil
rev22(X, cons2(Y, L)) -> rev1(cons2(X, rev1(rev22(Y, L))))
rev12(0, nil)
rev12(s1(x0), nil)
rev12(x0, cons2(x1, x2))
rev1(nil)
rev1(cons2(x0, x1))
rev22(x0, nil)
rev22(x0, cons2(x1, x2))
The following pairs can be strictly oriented and are deleted.
The remaining pairs can at least by weakly be oriented.
REV12(X, cons2(Y, L)) -> REV12(Y, L)
[REV12, cons2]
↳ QTRS
↳ Non-Overlap Check
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
↳ QDP
rev12(0, nil) -> 0
rev12(s1(X), nil) -> s1(X)
rev12(X, cons2(Y, L)) -> rev12(Y, L)
rev1(nil) -> nil
rev1(cons2(X, L)) -> cons2(rev12(X, L), rev22(X, L))
rev22(X, nil) -> nil
rev22(X, cons2(Y, L)) -> rev1(cons2(X, rev1(rev22(Y, L))))
rev12(0, nil)
rev12(s1(x0), nil)
rev12(x0, cons2(x1, x2))
rev1(nil)
rev1(cons2(x0, x1))
rev22(x0, nil)
rev22(x0, cons2(x1, x2))
↳ QTRS
↳ Non-Overlap Check
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDPOrderProof
REV22(X, cons2(Y, L)) -> REV1(cons2(X, rev1(rev22(Y, L))))
REV22(X, cons2(Y, L)) -> REV22(Y, L)
REV1(cons2(X, L)) -> REV22(X, L)
REV22(X, cons2(Y, L)) -> REV1(rev22(Y, L))
rev12(0, nil) -> 0
rev12(s1(X), nil) -> s1(X)
rev12(X, cons2(Y, L)) -> rev12(Y, L)
rev1(nil) -> nil
rev1(cons2(X, L)) -> cons2(rev12(X, L), rev22(X, L))
rev22(X, nil) -> nil
rev22(X, cons2(Y, L)) -> rev1(cons2(X, rev1(rev22(Y, L))))
rev12(0, nil)
rev12(s1(x0), nil)
rev12(x0, cons2(x1, x2))
rev1(nil)
rev1(cons2(x0, x1))
rev22(x0, nil)
rev22(x0, cons2(x1, x2))
The following pairs can be strictly oriented and are deleted.
The remaining pairs can at least by weakly be oriented.
REV22(X, cons2(Y, L)) -> REV22(Y, L)
REV1(cons2(X, L)) -> REV22(X, L)
REV22(X, cons2(Y, L)) -> REV1(rev22(Y, L))
Used ordering: Combined order from the following AFS and order.
REV22(X, cons2(Y, L)) -> REV1(cons2(X, rev1(rev22(Y, L))))
cons1 > [rev11, s]
nil > [rev11, s]
nil > 0
rev22(X, nil) -> nil
rev22(X, cons2(Y, L)) -> rev1(cons2(X, rev1(rev22(Y, L))))
rev1(nil) -> nil
rev1(cons2(X, L)) -> cons2(rev12(X, L), rev22(X, L))
rev12(0, nil) -> 0
rev12(s1(X), nil) -> s1(X)
rev12(X, cons2(Y, L)) -> rev12(Y, L)
↳ QTRS
↳ Non-Overlap Check
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ DependencyGraphProof
REV22(X, cons2(Y, L)) -> REV1(cons2(X, rev1(rev22(Y, L))))
rev12(0, nil) -> 0
rev12(s1(X), nil) -> s1(X)
rev12(X, cons2(Y, L)) -> rev12(Y, L)
rev1(nil) -> nil
rev1(cons2(X, L)) -> cons2(rev12(X, L), rev22(X, L))
rev22(X, nil) -> nil
rev22(X, cons2(Y, L)) -> rev1(cons2(X, rev1(rev22(Y, L))))
rev12(0, nil)
rev12(s1(x0), nil)
rev12(x0, cons2(x1, x2))
rev1(nil)
rev1(cons2(x0, x1))
rev22(x0, nil)
rev22(x0, cons2(x1, x2))